package br.com.locautowebbd.endereco;

import br.com.locautowebbd.util.RepositorioException;


public class CadastroEndereco {
	private RepositorioEnderecos enderecos;

	public CadastroEndereco(RepositorioEnderecos rep) {
		if (rep == null) {
			throw new IllegalArgumentException("Argumento lista modelos nula");
		}
		this.enderecos = rep;
	}

	public void atualizar(Endereco endereco) throws EnderecoInexistenteException,
			RepositorioException {
		enderecos.atualizar(endereco);
	}

	public void inserir(Endereco novoEndereco) throws RepositorioException, EnderecoExistenteException{
            int codigo = novoEndereco.getCep();
		if (!enderecos.existe(codigo)){
			enderecos.inserir(novoEndereco);
		} else {
			throw new EnderecoExistenteException(novoEndereco.getCep());
		}
	}

	public void remover(int cep) throws EnderecoInexistenteException,
			RepositorioException {
		enderecos.remover(cep);
	}

	public Endereco procurar(int cep) throws EnderecoInexistenteException,
			RepositorioException {
		return enderecos.procurar(cep);
	}
}